Identification of electronic content significant to a user

ABSTRACT

Content that is significant to a user may be determined. An indication that a user finds content within a document significant may be received. In response to the received indication, the document may be analyzed to identify a set of topics associated with the content of the document. From the set of topics, a subset of topics responsible for the user finding the document significant may be identified. A user profile associated with the user may be updated based on the subset of topics.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.13/836,663, filed Mar. 15, 2013. U.S. application Ser. No. 13/836,663 isa continuation of U.S. application Ser. No. 13/834,716, filed Mar. 15,2013, and which is a continuation of U.S. application Ser. No.12/839,767, filed Jul. 20, 2010. U.S. application Ser. No. 13/836,663 isalso a continuation of U.S. application Ser. No. 12/839,767. U.S.application Ser. No. 12/839,767 is a continuation of U.S. applicationSer. No. 11/538,383, filed Oct. 3, 2006, which is now issued as U.S.Pat. No. 7,783,622, which claims the benefit of and priority to U.S.provisional application No. 60/820,879, filed Jul. 31, 2006 and U.S.provisional application No. 60/820,033, filed Jul. 21, 2006. Each of theaforementioned patent(s) and application(s) are hereby incorporated byreference in their entirety.

TECHNICAL FIELD

This disclosure relates to identification of electronic content that issignificant to a user.

BACKGROUND

A user profile that includes information about user preferences, topicsof interest to a user and the user's web browsing behavior can beassociated with a user. The user profile is generated automatically forthe user based on the user's online activities. Additionally, oralternatively, the user profile is generated based on informationprovided by the user. The information stored within the user profile isused to provide a customized user experience. For example, electroniccontent can be recommended to a user as content the user is likely toenjoy based on information stored in the user profile.

SUMMARY

In a general aspect, content that is significant to a user isdetermined. An indication that a user finds content within a documentsignificant is received. The document is analyzed to identify a set oftopics associated with the content of the document in response to thereceived indication. From the set of topics, a subset of topicsresponsible for the user finding the document significant is identified.A user profile associated with the user is updated based on the subsetof topics.

With respect to at least the general aspect, implementations may includeone or more of the following features. For example, the subset of topicsmay include a single topic or the subset of topics may include multipletopics. Content within the document that is related to the subset oftopics also may be determined. Updating the user profile based on thesubset of topics may include updating the user profile based on thedetermined content within the document.

Identifying a subset of topics may include enabling the user to perceivethe set of topics, prompting the user to select a particular topic thatis related to the indication, and receiving, from the user, a selectionof the particular topic that is related to the indication.

Identifying a subset of topics may include accessing the user profileassociated with the user, determining topics identified as beingsignificant to the user based on the user profile, comparing the set oftopics to the determined topics, and based on the comparison,identifying the subset of topics. The topics previously indicated asbeing significant to the user may be selected by the user.

Identifying the subset of topics may include selecting one of the topicsfrom among the set of topics as a particular topic that is related tothe indication, presenting the particular topic to the user, andenabling the user to veto the particular topic as the topic that isrelated to the indication. As part of the veto, the user may be enabledto identify a different topic as the particular topic.

Receiving an indication that a user finds content within a documentsignificant may include receiving an indication of selection by a userof a content significance user interface element. The contentsignificance user interface element may float within a display that isperceivable to the user. The content significance user interface elementmay be included in a toolbar of a browser application. The contentsignificance user interface element may be configured such thatselection of the element indicates that the user is interested inparticular content. The content significance user interface element maybe configured such that selection of the element indicates that the useris not interested in particular content.

Analyzing the document to determine more than one topic associated withthe content of the document may include determining content being viewedor accessed by the user at the time the indication was received,determining a type for the viewed or accessed content; cleaning up theviewed or accessed content based on the type, and determiningsignificant content from the cleaned-up content. Cleaning up the viewedor accessed content may include removing information that is extraneousto the content actually viewed or accessed by the user.

The content being viewed by the user may include content within thedocument that was perceivable to the user at the time the indication wasreceived. The content that was perceivable to the user may includecontent that was presented for display to the user. The content beingaccessed by the user may include all content within the documentregardless of whether the content was currently perceivable to the userat the time the indication was received.

The type for the viewed or accessed content may be determined based onthe method used in determining the content being viewed or accessed bythe user at the time the indication was received. The content beingviewed or accessed may be determined by querying an operating systemapplication programming interface (API), screen capture and/orcommunications monitoring.

Cleaning up the viewed or accessed content may include removinginformation, metadata and formatting extraneous to text that includescontent actually viewed or accessed by the user. Cleaning up may includeperforming speech-to-text, optical character recognition, visual patternrecognition, image analysis and/or metadata inspection techniques todetermine the content actually viewed or accessed by the user.Determining significant content from the cleaned-up content may includeusing term frequency—inverse document frequency (TF-IDF), a uniformresource locator (URL), a file name, content of, or URL for, previouslyviewed web pages, links to the viewed or accessed content and/or theuser profile.

A request for content may be received from a user. Information in theuser profile may be used to inform content provided in response to therequest. The request for content may include a search query, anindication to add content to a video inbox, a request for a webdocument, a request for an audio and/or video playlist and/or a requestfor recommendations.

Using the information in the user profile to inform content provided inresponse to the request may include providing content that the user ismost likely to find satisfactory based on information in the userprofile related to information the user has found satisfactory in thepast. The provided content may be search results, ranked search results,video, audio, video or audio playlists and/or recommended content or webpages.

The user profile associated with a user may be stored on a clientdevice. Updating the user profile may be performed by the client device.A request for content may be received from a user. The request andinformation from a user profile associated with the user may betransmitted to a host device. The host device may be configured todetermine content to provide in response to the request based on therequest and information in the user profile.

The user profile associated with a user may be stored on a host device.Updating the user profile may be performed by the host device. A requestfor content may be received from a user. A user identity associated withthe user may be received. A user profile associated with the useridentity may be accessed. Content to provide in response to the requestmay be determined based on information within the accessed user profile.The content may be transmitted to a client device for display to theuser.

The content within the document that is related to the particular topicmay include keywords, a uniform resource locator (URL) and/or a categoryassociated with the significant content.

Implementations of any of the techniques described may include a methodor process, an apparatus or system, or computer software on acomputer-accessible medium. The details of particular implementationsare set forth below. Other features will be apparent from thedescription and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a flowchart of an exemplary process for providing content to auser based on content identified to be significant to the user.

FIG. 2 is an illustration of a graphical user interface (GUI) thatincludes a browser and a floating “I Like This” button 210.

FIG. 3 is an illustration of a GUI that includes a browser and an “ILike This” button included in the toolbar of the browser.

FIG. 4 is an illustration of a GUI that includes a browser and afloating “I Like This” button

FIG. 4A is a flowchart of an exemplary process for disambiguating topicswithin a web page to determine a topic that is significant to a user.

FIG. 5 is an illustration of a GUI that includes an email inbox and afloating “I Like This” button.

FIG. 6 is an illustration of a GUI that is configured to allow a user toselect text from within a document and indicate that the text issignificant to the user.

FIG. 7 is an illustration of a user profile.

FIG. 8 is an illustration of a GUI for displaying a video inbox to auser.

FIGS. 9A and 9B show two exemplary communications systems fordetermining information that is significant to a user, updating a userprofile with the significant information and providing additionalinformation to the user based on the user profile.

FIGS. 10A and 10B are two exemplary processes for determininginformation that is significant to a user, updating a user profile basedon the significant information and providing additional information tothe user based on the updated user profile.

FIG. 11 is a flowchart of an exemplary process for updating a userprofile based on content determined to be significant to a user.

DETAILED DESCRIPTION

An “I Like This” Button may be implemented as a feature in any devicecapable of enabling a user to browse electronic content and may be usedto identify a particular topic of interest among multiple potentialtopics presented to a user in a single reference. Moreover, the “I LikeThis” Button may be implemented in a manner that is entirely independentof the content provisioning system, thereby enabling it to be used toindicate interest in any content available across the Internet. Thebutton may be visually presented, for example, as a “floating” button ina user interface that floats over any displayed content or,alternatively, may be presented in the header, menu bar, or toolbar ofany such user interface.

Upon selection of the “I Like This” Button, the device and/or a remotesystem communicating with the device analyzes the electronic contentpresented to the user at the time of selection of the button. Theelectronic content may be limited to content presently displayed by thedevice or, if the content is a web page, to all content contained withinthe web page, irrespective of what portion of the web page is currentlydisplayed. Textual content may be extracted and searched for keyterms/topic based on frequency, user-specified interests, taxonomies, orany other criteria that may be effectively used to focus in on topics ofimportance in displayed text (e.g., the URL of the web page itself mayinform which topics are more important, the referring web page URL mayhelp determine which topics are important, historic search terms used bythe user, or any other information determined from passive and activefeedback). Once a set of topics are identified based on the contentcurrently perceived by the user, the user may be prompted to choose fromamong the set of topics to identify the one or more topics that arereally of interest to him or her. In an entirely passive system, thesystem does not prompt the user to select a topic, but instead shows theuser the topic that was determined by the system to be of interest andenables the user to change the topic upon his or her own initiative.

If the electronic content is multimedia content having a video and/oraudio component, audio metadata and/or speech to text may be used toconvert the audio to text that may be searched as described above.Similarly, video metadata or visual pattern recognition/image analysistechniques may be used to determine topics related to displayed video.

After having determined the topic(s) of interest to the user, thetopic(s) may be used to update a user profile. The user profile buildsup over time and may be used to better tailor any service offerings,advertisements, notices, or alerts sent to the user. The user profilealso may be used to modify search results presented to the user inresponse to a search request (e.g., by adding or removing search resultsor by changing search result rankings). The topics may be further usedto modify the contents of the user's video inbox. The updating of theuser profile and video inbox may occur entirely passively or may occurafter specifically prompting the user for permission to update his/heruser profile and/or video inbox with the determined topics.

The user may select the “I Like This” button to indicate interest inelectronic content that is accessible over a network and/or that islocally stored. For example, the user may select the “I Like This”button to indicate interest in a song that he or she has locally storedon a portable MP3 player or a picture taken by him or her that iscurrently being viewed on a portable camera.

These and additional or alternatively features are described below withreference to FIGS. 1-11.

FIG. 1 is an exemplary process 100 for providing content to a user basedon content identified to be significant to the user. Process 100 may bereferred to as being performed by a client device, such as client 910described below with respect to FIGS. 9A and 9B. However, in someimplementations, process 100 may be performed by a host device, such ashost 930, also described below with respect to FIGS. 9A and 9B, or bysome combination of client 910 and host 930.

The client 910 receives an indication that a user finds some content tobe significant (110). The indication may be, for example, the selectionby a user of a content significance graphical user interface (GUI)element (e.g., an “I Like That” or “I Like This” button), as describedin more detail below.

The client 910 determines content that was presently being viewed oraccessed by the user when the indication was received (120). The contentcurrently being viewed or accessed by a user may be determined using anoperating system (OS), such as, for example, Windows, applicationprogramming interface (API), a screen capture or communicationsmonitoring. The API may be used to identify programs that were renderedin a display and made perceivable to the user at the time of selectionof the button. For example, a word processing program and an email inboxmay have been rendered (e.g., made perceivable to the user) at the timeof selection of the “I Like This” button. Thus, client 910 may seektextual information that was presented by the word processing program orthe email inbox and may have been viewed by the user at the time thebutton was selected. In one implementation, for example, the client 910may identify documents or files that were recently accessed, or arepresently being accessed, by the word processing program or the emailinbox. The client 910 may access those documents or files and analyzethe text therein to determine content to which the user's selection ofthe “I Like This” button may have been referring.

Additionally, the programs that were rendered may have been active(e.g., maximized) or inactive (e.g., minimized into a tool bar or tray)at the time when the “I Like This” button was selected. If a program wasinactive, client 910 may determine that the content currently beingaccessed by the inactive program is not a good candidate for thesignificant content because the user was not currently viewing oraccessing the inactive content when the “I Like This” button wasselected. Similarly, client 910 may determine that content that wasaccessed by an active program when the “I Like This” button was selectedmay be more likely to be the content to which the user was referring assignificant.

Screen capture also may be used by client 910 to determine windows thatwere currently displayed to, and perceivable by, the user when thebutton was selected. For example, only the word processing program mayhave been on the screen. Thus, client 910 may determine that onlycontent accessed by the word processing program may be a good candidatefor the significant content because all other currently renderedprograms were not perceivable to the user at the time of selection ofthe “I Like This” button.

Communications monitoring also may be used by client 910 to determineinformation that was recently received by a client 910 from an externaldata source and thus, possibly related to the user's selection of the “ILike This” button. By monitoring a communications stream, the mostrecent item to have been received, such as, for example, an email orinstant message, may be identified by client 910. Since this item wasthe last one received by the user, and possibly based on informationthat the user was actively interacting with recent communications (e.g.,determination that the API had rendered an email inbox or an instantmessaging program (e.g., AIM®)), the client 910 may determine that therecently received item includes content that the user was referring towhen the user selected the “I Like This” button.

The client 910 identifies particular content within the viewed oraccessed content that is significant to the user (130), as described inmore detail below with respect to FIG. 4.

The client 910 updates a user profile associated with the user based onthe identified significant content (140). For example, the client 910may add indicia of the significant content (e.g., one or more keywords,one or more categories or a uniform resource locator (“URL”) associatedwith the significant content) to the user profile. In addition tostoring the indicia of significant content in the user profile, thestored indicia also may be tagged as “significant” in order to separatethe indicia from other content included in the user profile, such as,for example, interests, favorite web pages or user contacts. The client910 uses the indicia of the significant content in the user profile,which may build up over time as the user provides additional indicationsof significant content, to provide additional content to the user (150).By basing any additional content provided by the client 910 to the useron information in the user profile, the additional content may be morelikely to be of interest, or significance, to the user.

A content significance GUI element, such as, for example, an “I LikeThat” or “I Like This” button, may be implemented as a feature in a userinterface of any device capable of enabling a user to browse electroniccontent. In one implementation, the content significance GUI element isan interface element that may be selected by the user to initiate anindication of significant content through a single user action, such as,for example, a click of a mouse button. It may be desirable to allow auser to indicate significant content by performing a single action (orvery few actions) in that the user can receive a large benefit (e.g.,increased personalization of the user's online experience), whileexerting a small amount of extra effort (e.g., performing a small numberof actions) to indicate significant content.

For ease of discussion, the content significance GUI element, which inone implementation may be a button, will be subsequently referred to asan “I Like This” button. The “I Like This” button may be implemented ina manner that is entirely independent of the content provisioningsystem, thereby enabling the button to be used to indicate interest inany content stored locally on the user's computer or available across aprivate or public data network, such as, for example, the Internet. Thebutton may be visually presented, for example, as a “floating” button ina user interface that floats over any displayed content or,alternatively, may be presented in the header, menu bar, or toolbar ofany such user interface.

FIG. 2 is an illustration of a GUI 200 that includes a browser and afloating “I Like This” button 210. The browser is displaying a web pageassociated with the Godiva Chocolatier. The user may select the button210 to indicate that some content within the web page is significant tothe user. In this implementation, the user indicates significant contentthrough a single action, i.e., selection of button 210.

FIG. 3 is an illustration of a GUI 300 that includes a browser and an “ILike This” button 310 included in the toolbar of the browser. Thebrowser is displaying a web page associated with Hershey KitchenRecipes. The user may select the button 310 to indicate that somethingshown in the browser is significant to the user.

Upon selection of button 310, the user may be prompted to select one ofseveral possible, or candidate, topics associated with the web page froma drop-down menu 320. In some implementations, the user may select morethan one of the candidate topics provided. The candidate topics may bedetermined based on words and phrases within the Hershey Kitchen Recipesweb page (e.g., Hershey's,” “Kitchens, “Recipes,” “Ideas,” “Chocolate,”“Bread” and “Muffins”). Words and phrases from within the web page maybe selected based on how frequently the particular word or phraseappears in the web page. For example, the more frequently a word appearsin the web page, the more likely the word is significant to the contentof the web page, and perhaps, the user. Candidate topics also may bedetermined based on a category associated with the web page. A categoryfor the web page may be determined from metatags or other metadataembedded in the web page source (e.g., hypertext markup language(HTML)). Such metatags and metadata are typically used by search enginesto determine if a web page is related to a particular search query, andthus the same information may be used to determine categories or themesthat are important to the overall content of the web page. Additionally,or alternatively, information related to a web page that includes a linkto the present web page (e.g., a referring web page) also may be used todetermine a topic within the web page that may be significant to theuser, and thus, that may be used as a good candidate topic.

In such an implementation, candidates for significant content may bedetermined prior to a user selecting the button 310. For example,frequently appearing words, metatag information and referring web pageinformation may be determined upon loading, and display, of a web pagein order to prepare for, and prior to, user selection of button 310.Alternatively, candidate topics may not be determined until after a userhas selected button 310 to avoid using resources (e.g., memory) that maybe unnecessarily tied up if the user does not eventually select button310 in relation to the current web page.

GUI 300 shows that a user has selected “Hershey's” in drop-down menu 320as the topic that is related to the content the user finds significant.Content within the browser related to “Hershey's” then may bedetermined, such as, for example, the featured product of Hershey's MiniKisses, and used to update a user profile associated with the user whoselected the “I Like This” button 310. The content associated with theselected topic may be identified based on a determination of portions ofthe web page that are related to the topic by, for example, determiningthe portion of the web page in which the word “Hershey's” appears mostfrequently.

Notably, in this implementation, the user may indicate significantcontent through two actions—(1) selection of button 310, and (2)selection of a candidate from a list of identified candidates ofsignificant content.

FIG. 4 is an illustration of a GUI 400 that includes a browser and afloating “I Like This” button 410. The browser is displaying a web pageassociated with the front page of Washingtonpost.com. The front page ofa news or other portal web site, such as, for example, theWashingtonpost.com web site, typically includes a multimediapresentation of many different topics, any one of which may besignificant to a user. Upon receiving an indication that a user hasselected button 410, without any other indication of significant contentit may be very difficult to discern which of the many topics presentedon the web page is related to the content that the user findssignificant. Another indication of significant content may be, forexample, (1) selection by the user of a candidate topic of significantcontent, (2) explicit indication (e.g., typing) by a user of thesignificant content, or (3) selection (e.g., highlighting) of particularcontent prior to selection of the “I Like This” button.

To attempt to determine which of many topics included in a particularweb page for which a user has selected the “I Like This” button is thetopic that is significant to the user, several methods may be used, asdescribed below with respect to FIG. 4A. The process for determining oneof many topics as the topic to which the user was referring when theuser selected the “I Like This” button may be referred to asdisambiguation.

FIG. 4A is an exemplary process 400A for disambiguating topics within aweb page that includes multiple topics, such as, for example, theWashingtonpost.com web page shown in GUI 400 of FIG. 4, to determine atopic that is significant to a user. Process 400A is an example of aprocess for performing operation 130 of FIG. 1. Process 400A may beperformed by, for example, client 910 described below with respect toFIGS. 9A and 9B. However, in some implementations, process 400A may beperformed by host 930, also described below with respect to FIGS. 9A and9B, or by some combination of client 910 and host 930.

During operation 110 of FIG. 1, client 910 receives an indication that auser finds some content within a web page to be significant. Forexample, the user may select the “I Like This” button 410 of FIG. 4 toindicate that the user finds some content within the Washingtonpost.comto be significant.

Client 910 determines that the indication may be referring to one ofmultiple topics within the web page (420). To do so, client 910 maydetermine a frequency of words within the web page, analyze metatags andmetadata associated with the web page or identify information related toa referring web page. If no small number (e.g., one or two) of wordswithin the web page have a much higher frequency than other words,client 910 may determine that the web page includes multiple topics, anyone of which may be significant to the user. In another example, if themetatags and metadata are related to more than a small number of topicsor categories (e.g., more than two or three), the client 910 maydetermine that the web page does not include one or two topics that maybe of significance to the user. In yet another example, if the referringweb page does not, itself, include a reference to, or relationship witha particular topic or category of content, the client 910 may be unableto determine a particular topic to which the user was most likelyreferring, when the user selected the “I Like This” button 410.

Therefore, client 910 may have to disambiguate the multiple topicsrelated to the web page to determine the significant content byperforming one or more of operations 431-434. In particular, client 910may determine if any content within the web page is the dominant content(431). For example, audio or video content within a web page currentlybeing viewed or accessed by a user may be assumed to be the dominantcontent of the web page, and thus the significant content. This may bethe case because web pages that include audio and, especially, videocontent, tend to be focused on the particular audio or video content.However, if for some reason, the audio or video content cannot be saidto be the dominant content, such as, for example, when the audio isunrelated to content or topics identified as being present within theweb page and/or is playing in the background, other methods may be usedto determine the significant content.

Client 910 may determine significant content based on informationrelated to a referring web page (432). For example, the uniform resourcelocator (“URL”) of, or content within, a web page that the user used toarrive at the current web page (e.g., a web page on which the userselected a hyperlink to arrive at the current web page) may includeinformation that can help client 910 determine the content the userfinds significant on the current web page. For example, the user mayhave arrived at the Washingtonpost.com web page after clicking on a linkin a web page related to Pandas. Thus, the content within the referringweb page (e.g., pandas) may help determine that the content that issignificant to the user in the current web page is the story on TaiShan, the baby Giant Panda.

Client 910 may determine significant content based on accessing a userprofile to determine possible topics that may be related to thesignificant content and determining if any of the possible topics areincluded within the web page (433). This determination may be successfulbecause users often visit various web pages related to topics in whichthe user has shown some previous interest. For example, a user profileassociated with a user may include information related to the NationalZoo. Words, metatags and other information related to theWashingtonpost.com web page may be analyzed to determine if the web pageincludes information related to the National Zoo. The Washingtonpost.comweb page shown in FIG. 4 includes a video of Giant Panda Tai Shan, whichthus, may be determined to be the content that is significant to theuser.

Techniques other than those described with respect to FIG. 4A also maybe used to determine significant content within a web page. For example,the positioning of a cursor also may be used as a clue to the contentthat the user finds significant. For example, when a user moves a cursoror mouse pointer over a particular portion of a web page, it may beassumed that the portion over which the cursor or mouse pointer includesthe content the user finds significant. Alternatively, it may be assumedthat a user would not place a cursor or mouse pointer over content inwhich the user was interested because the cursor or mouse pointer mayobstruct the user's view of the content. Thus, content associated with aportion of a web page where a user has placed a cursor or mouse pointer,may automatically be excluded from consideration as being related tocontent the user found significant.

Additionally, and in some implementations, term frequency—inversedocument frequency (“TF-IDF”) techniques may be used to determine atopic that dominates a web page, and thus is likely to be significant toa user. TF-IDF is a statistical measure that may be used to evaluate theimportance of a particular word, or phrase, to the importance of adocument. For example, the importance of a word increases proportionallyto the number of times the word appears in a document. However, thepopularity is offset by how common the word is in all of the documentsin the collection (e.g., corpus) of documents that are being examined.For example, a high TF-IDF value may be due to a high word frequency (ina given document) and a low document frequency of the word in the wholecollection of documents (e.g., corpus). The collection of documents maybe any documents to which client 910 has access. It is important todetermine frequency of a particular word in the analyzed document inrelation to the frequency of the word in documents that may, or may not,be related to the same topic in order to receive an accuratedetermination of the significance of a particular word in a particulardocument.

A uniform resource locator (“URL”) or file name associated with a webpage also may be used to aid in the determination of significantcontent. Furthermore, the content of, or URL for, web pages (e.g.,referring web pages) that were viewed prior to the user coming intocontact with the viewed or accessed web page may help discern thesignificant content in the current web page. Moreover, information in auser profile associated with the user may provide clues (e.g., contentor topics the user previously found to be significant) as to whatcontent the user presently found significant.

Even if no particular content can be discerned as the significantcontent within the web page, client 910 may identify general informationrelated to the web page and update the user profile accordingly (434).For example, client 910 may determine that the Washingtonpost.com webpage shown in FIG. 4 is a news web page. This determination may be basedon the multitude of topics within the web page, the constantly changingnature of the web page and the number of links to, and from, the mainweb page of the Washington Post. Thus, client 910 may determine that theuser likes news web pages. The significant content portion of a userprofile associated with the user may therefore be updated with thesignificant content of “news” or “news web pages.”

Client 910 determines whether any useful information related todetermining the significant content was identified (440). Moreparticularly, client 910 determines if any significant content wasdetermined during at least one of operations 431-434.

If significant content was determined, client 910 proceeds to performoperation 140 of FIG. 1 (460). If no significant content was determinedby client 910 (e.g., not even information regarding a type of web page),client 910 disregards or ignores the indication that the user finds somecontent within the particular web page to be significant (450).

FIG. 5 is an illustration of a GUI 500 that includes an email inbox anda floating “I Like This” button 510. A user may select an “I Like This”button to indicate significant content within currently viewed oraccessed content that is stored locally or across a data network. Anemail inbox, such as that shown in GUI 500, may be stored locally (e.g.,while communicating across a network 920 to receive incoming messagesand transmit outgoing messages), or in a data store accessible across adata network, such as, for example, in an email server provided by anOnline (or Internet) Service Provider (e.g., AOL LLC) or online emailaccount provider across the Internet. Similar to the “I Like This”button 310 of FIG. 3, selection of the button 510 may cause a pop-up ordrop-down menu to appear and prompt a user for input. Here, drop-downmenu 520 may ask a user to affirmatively supply information thatidentifies the content that the user finds significant. As shown, theuser has indicated that content related to “AOL Games” is significant.Accordingly, in this implementation, like that shown in FIG. 3, the userindicates significant content through two actions—(1) selection ofbutton 510, and (2) manually typing in a topic or other identifier ofsignificant content.

FIG. 6 is an illustration of a GUI 600 that is configured to allow auser to select text from within a document and indicate that the text issignificant to the user. More particularly, GUI 600 includes a wordprocessing window showing a document entitled “10-31 Case Lunch Notes.”The text document may be stored locally or online, such as, for example,in a virtual hard drive. The user may highlight a portion of thedocument, as shown at 620, and perform a selection action, such as, forexample, right-clicking the mouse, hovering over the highlighted text ortouching one or more shortcut keys. Upon performing the selectionaction, an “I Like This” button 610 may appear for the user to select.The selection of button 610 may indicate that the user likes thehighlighted portion of the text, which, as shown, relates to a processfor producing E. Coli cells. In this implementation, the user indicatessignificant content through two actions—(1) highlighting text that theuser finds significant, and (2) selection of button 610.

Upon selection of an “I Like This” button, a device (e.g., client 910 ofFIG. 9A or 9B) and/or a remote system communicating with the device(e.g., host 930 of FIG. 9A or 9B), may be configured to analyze contentbeing viewed or accessed by a user at the time of selection of thebutton, as described above with respect to FIGS. 1-4, 4A, 5 and 6. Intwo user action implementations, such as, for example, when a userperforms some step before, or after, selection of an “I Like This”button to explicitly indicate the content which the user findssignificant, analysis of the content within a document (e.g., a webpage) to determine the content that the user finds significant may notbe necessary. In single user action implementations, such as, forexample, when a user selects an “I Like This” button without providingan indication of content to which the selection of the button refers,the content within a document, such as, for example, a web page may beanalyzed to determine the content that the user finds significant.

In one implementation, the electronic content analyzed, as describedabove, may be limited to content presently displayed by the device. Forexample, the content may be a web page, where only a portion of the webpage is currently perceivable to the user (e.g., the user may causeanother portion of the web page to become perceivable by using a scrollbar, an arrow or a “page up” or “page down” command). In this example,the electronic content analyzed to determine significant content may belimited to the portion of the web page that was perceivable by the userat the time when the “I Like This” button was selected. In anotherimplementation, all content included within the electronic content maybe analyzed to determine the significant content, regardless of how muchof the electronic content is, or was, perceivable to the user. Forexample, for a web page, the entire electronic content included withinthe web page may be analyzed even if only a portion of the web page wasperceivable to the user when the “I Like This” button was selected.

Textual content may be extracted and searched for particular contentthat may be significant to the user based on frequency of terms withinthe textual content, user-specified interests (e.g., as stored in a userprofile), taxonomies or any other criteria that may be effectively usedto focus in on topics of importance in displayed text. For example, aURL of a web page may inform which topics are important, a URL of, orcontent within, a referring web page may help determine which topics areimportant, historic search terms entered by the user, web pages ordocuments previously viewed by the user or any other informationdetermined from passive and active feedback also may be useful indetermining significant content. In some implementations, metadata,speech to text conversions and visual pattern recognition/image analysistechniques may be used to convert audio or video included in multimediacontent being viewed or accessed by a user, to text that may be searchedfor particular content that may be significant to a user.

FIG. 7 is an illustration of a user profile 700. The user profile 700includes a user identifier 710 to associate the user profile with aparticular user. The user identifier 710 may be a screen name (e.g.,GoldfishGirl), an IP address, a user's real name or some otherinformation that identifies the particular user.

The user profile includes keywords 720, web pages 730 and categories 740that are significant to the user or are related to content that issignificant to the user. The keywords 720, web pages 730 and categories740 may have been determined based on selection by the user of an “ILike This” button or by some other means, such as, for example, by auser filling out an interest survey. The keywords 720 may be words thatwere included in, or derived from, content that the user indicated wassignificant or may be words that are related to content that the userlikes. The web pages 730 also may be actual web pages the user hasviewed and indicated as significant, or merely web pages that arerelated to topics in which the user has indicated an interest. Thecategories 740 may be determined from an ontology or taxonomy based on,and related to, the determined keywords and web pages. In one example,user profile 700 includes a keyword “chocolate” 721, a web pagehttp://www.aol.com 731 and a category beach 741.

As new content is determined to be significant to the user, keywords720, web pages 730, categories 740 or other indicia related to the newcontent may be added to the user profile 700 during operation 140 ofFIG. 1. The updating of the user profile 700 may occur entirelypassively or may occur after specifically prompting the user forpermission to update the user profile 700 based on the determinedsignificant content.

The user profile 700 may build up over time and may be used to helpprovide the user with additional content that the user is most likely tofind interesting or significant. For example, information in the userprofile 700 may be used to better tailor any service offerings,advertisements, notices or alerts sent to the user, content recommendedto the user, content provided in a video or audio inbox associated withthe user or the order of content within a document that is presented tothe user. The user profile 700 also may be used to modify search resultspresented to the user in response to a search request by, for example,adding or removing search results or by changing search result rankingsor groupings.

The user profile 700 may be stored locally on a client 910 device or,alternatively, across a network 920 at a host 930 device, as describedin detail below with respect to FIGS. 9A, 9B, 10A and 10B.

FIG. 8 is an illustration of a GUI 800 for displaying a video inbox to auser. A video inbox may display video content that has been tailored toa particular user's interests. As such, additional content (e.g., videocontent) is provided to the user during operation 150 of FIG. 1 based onan updated user profile associated with the user. The video inbox shownin GUI 800 includes various categories 840, such as top videos 841,which may include videos that the user is likely to enjoy based on theuser's most recent indications of subject matter that is significant.The top videos category 841 is currently showing a video 810 that isrelated to Tai Shan the Giant Panda at the National Zoo, a video 820that is related to a Hershey chocolate recipe and a video 830 that isrelated to AOL Games. Other categories may include music 842, television843 and news 844, as shown. The updating of the video inbox may occurentirely passively or may occur after specifically prompting the userfor permission to update the video inbox based on information in theuser profile related to content indicated as significant by the user.Additionally, a user may be able to add content to, or delete contentfrom, the user's video inbox. This type of editing also may be used toupdate the user's profile so that content provided to the user in thefuture may be more responsive to the user's interests.

FIGS. 9A and 9B show exemplary communications systems 900A and 900B,respectively, for determining information that is significant to a user,updating a user profile with the significant information and providingadditional information to the user based on the user profile. Systems900A and 900B both include a client 910 that communicates with a host930 via a network 920.

Each of the client 910 and the host 930 may be implemented by, forexample, a general-purpose computer capable of responding to andexecuting instructions in a defined manner, a personal computer, aspecial-purpose computer, a workstation, a server, a device, acomponent, other equipment or some combination thereof capable ofresponding to and executing instructions. The client 910 and host 930may be configured to receive instructions from, for example, a softwareapplication, a program, a piece of code, a device, a computer, acomputer system, or a combination thereof, which independently orcollectively direct operations, as described herein. The instructionsmay be embodied permanently or temporarily in any type of machine,component, equipment, storage medium, or propagated signal that iscapable of being delivered to the client 910 or the host 930.

The client 910 may include one or more devices capable of accessingcontent on the host 930. The host 930 may include a general-purposecomputer (e.g., a personal computer (PC)) capable of responding to andexecuting instructions in a defined manner, a workstation, a notebookcomputer, a PDA (“Personal Digital Assistant”), a wireless phone, acomponent, other equipment, or some combination of these items that iscapable of responding to and executing instructions.

In one implementation, the client 910 includes one or more informationretrieval software applications (e.g., a browser, a mail application, aninstant messaging client, an Internet service provider client, a mediaplayer, or an AOL TV or other integrated client) capable of receivingone or more data units. The information retrieval applications may runon a general-purpose operating system and a hardware platform thatincludes a general-purpose processor and specialized hardware forgraphics, communications and/or other capabilities. In anotherimplementation, the client 910 may include a wireless telephone runninga micro-browser application on a reduced operating system with generalpurpose and specialized hardware capable of operating in mobileenvironments.

The network 920 includes hardware and/or software capable of enablingdirect or indirect communications between the client 910 and the searchsystem 130. As such, the network 920 may include a direct link betweenthe client 910 and the search system 130, or it may include one or morenetworks or sub networks between them (not shown). Each network or subnetwork may include, for example, a wired or wireless data pathwaycapable of carrying and receiving data. Examples of the delivery networkinclude the Internet, the World Wide Web, a WAN (“Wide Area Network”), aLAN (“Local Area Network”), analog or digital wired and wirelesstelephone networks, radio, television, cable, satellite, and/or anyother delivery mechanism for carrying data.

The host 930 may include a general-purpose computer having a centralprocessor unit (CPU), and memory/storage devices that store data andvarious programs such as an operating system and one or more applicationprograms. Other examples of a host 930 includes a workstation, a server,a special purpose device or component, a broadcast system, otherequipment, or some combination thereof capable of responding to andexecuting instructions in a defined manner. The host 930 also mayinclude an input/output (I/O) device (e.g., video and audio input andconversion capability), and peripheral equipment such as acommunications card or device (e.g., a modem or a network adapter) forexchanging data with the network 920.

The host 930 is generally capable of executing instructions under thecommand of a controller. The host 930 may be used to provide content tothe client 910. The controller may be implemented by a softwareapplication loaded on the host 930 for commanding and directingcommunications exchanged with the client 910. Other examples of thecontroller include a program, a piece of code, an instruction, a device,a computer, a computer system, or a combination thereof, forindependently or collectively instructing the client 910 or the host 930to interact and operate as described. The host 930 may be embodiedpermanently or temporarily in any type of machine, component, physicalor virtual equipment, storage medium, or propagated signal capable ofproviding instructions to the client 910 or the host 930.

In system 900A, the client 910 is configured to access a user profiledata store 911 where a user profile associated with a user is stored.The client 910 in system 900A may determine content that is significantto a user, update the user profile based on the significant content andcommunicate to the host 930 information related to the updated userprofile and a user request for content (e.g., a search request). Thehost 930 may determine content that is responsive to the request and theupdated user profile information (e.g., search results). In someimplementations, the entire updated user profile may be provided to host930 by client 910. Alternatively, only a portion of the updated userprofile that client 910 has determined to be relevant to the request forcontent may be provided to host 930.

Alternatively, in system 900B, the host 930, rather than the client 910,is configured to access a user profile data store 931 where userprofiles are stored. The host 930 may receive content and an indicationof a user identity associated with the content from the client 910. Thehost 930 may determine a portion of the content that is significant andupdate a user profile associated with the user based on the significantcontent. As such, at a later time when a request for content is receivedby the client 910 from the user, the client 910 may send the userrequest and an indication of the user identity associated with therequesting user to the host 930, and the host 930 may access a userprofile (that has been previously updated) associated with the useridentity and determine content that is responsive to the request and theuser profile information.

FIGS. 10A and 10B are exemplary processes 1000A and 1000B, respectively,for determining information that is significant to a user, updating auser profile based on the significant information and providingadditional information to the user based on the updated user profile.Process 1000A may be performed, for example, by communications system900A of FIG. 9A and process 1000B may be performed, for example, bycommunications system 900B of FIG. 9B. FIGS. 10A and 10B illustrates oneimplementation of how performance of the various operations of processes1000A and 1000B may be shared between the host 930 and the client 910.

In process 1000A, the client 910 optionally downloads (1011) andinstalls (1012) “I Like This” software. Operations 1011 and 1012 may notbe performed, for example, in implementations, where the “I Like This”software has already been downloaded from the Internet, or uploaded froma disc or other media, by client 910 and installed.

The client 910 receives an indication that an “I Like This” button wasselected by a user (1013). Operations 1011-1013 may correspond tooperation 110 of FIG. 1.

The client 910 determines and extracts content that was being viewed oraccessed by the user at the time of selection of the “I Like This”button (1014, which corresponds to operation 120 of FIG. 1). Theextracted content is analyzed by the client 910 to determine significantcontent within the extracted content (1015, which corresponds tooperation 130 of FIG. 1). Alternatively, or additionally, the host 930may perform operation 1015. The client 910 accesses a locally storeduser profile from a user profile data store 911 (as shown in FIG. 9A)(1016) and updates the user profile based on the determined significantcontent (1017). Operations 1016-1017 may correspond to operation 140 ofFIG. 1.

The client 910 receives a request from a user for content that can beinformed by information included in a user profile associated with theuser (1018). The request may include, for example, a search query, entryinto a video inbox, an “update video inbox” command, a request forrecommended content or advertisements or services that may be providedto the user in response to some other user action.

The client 910 sends to the host 930, or enables the host 930 to access,the request and some, or all, of the updated user profile information(1019). If only a portion of the updated user profile information issent to, or accessed by, the host 930, the portion may be determined bythe client 910 based on the substance of the user request. For example,if a user enters a search query related to the National Zoo, the client910 may send to the host 930, or enable the host 930 to access, allinformation included in the user profile associated with zoos, animalsor Washington, D.C.

The host 930 receives, or accesses, the request and the updated userprofile information (1020). The host 930 determines content thatsatisfies the request and the updated user profile information (1021).The information in the updated user profile may be used to influence thedetermination of content that satisfies the request or the presentationof the content that satisfies the request. For example, the updated userprofile may affect whether search results are provided to the user, orhow the search results that are provided to the user are ranked orgrouped. Also related to a search query, the updated user profile may beused to disambiguate a search query. For example, the user may enter thesearch query “Eagles.” The search query may relate to the football team,the bird or the band. A user profile associated with the user mayinclude a large amount of music references, and thus, it may bedetermined that the search query most likely relates to the band, ratherthan the football team or the bird. In this way, search queries may bepersonalized for a user without requiring any additional steps to betaken by the user. In another example, the updated user profile may beused to determine content to be included in a video inbox,advertisements or services to be provided to a user or content that maybe recommended to the user. The host 930 sends to the client 910, orenables the client 910 to access, the determined content (1022) suchthat the client 910 receives the determined content and enables the userto perceive the content by, for example, visually displaying the contentto the user (1023). Operations 1018-1023 may correspond to operation 150of FIG. 1.

In the implementation of FIGS. 9A and 10A, user profiles are storedlocally (i.e., local to the client system 910), and thus, informationrelated to content that a user finds significant, and content that hasbeen viewed or accessed by the user may be kept completely confidential.Only the user profile information that is necessary to help determinecontent that satisfies a user request need be transmitted over thenetwork 920 to the host 930. In addition, even if all of the userprofile information is sent to the host 930, the user profileinformation may be sent anonymously, so that if the information isintercepted by a third party, the information cannot be associated withthe user.

In process 1000B, the client 910 optionally downloads (1041) andinstalls (1042) “I Like This” software, similar to that described abovewith respect to process 1000A of FIG. 10A. The client 910 receives anindication that an “I Like This” button was selected (1043). The client910 determines a user identity for the user who selected the “I LikeThis” button (1044). The user identity may be, for example, a screenname with which the user logged into an online service provider orInternet service provider (e.g., AOL®), an IP address or an emailaddress. Operations 1041-1044 may correspond to operation 110 of FIG. 1.

The client 910 determines and extracts content that was being viewed oraccessed by the user at the time of selection of the “I Like This”button (1045, which corresponds to operation 120 of FIG. 1).

The client 910 sends to the host 930, or enables the host 930 to access,the user identity and the extracted content (1046). The host 930receives, or accesses, the user identity and the extracted content(1047). The host 930 analyzes the extracted content to determine thesignificant content (1048). Alternatively, the client 910 may performoperation 1048. Operations 1046-1048 may correspond to operation 130 ofFIG. 1.

The host 930 accesses a user profile associated with the user identityand is stored on the host 930 (as shown in FIG. 9B) (1049). The host 930updates the user profile with the significant content (1050). Operations1049-1050 may correspond to operation 140 of FIG. 1.

The client 910 receives a request from a user for content that can beinformed by information included in a user profile associated with theuser (1051). The client 910 determines a user identity associated withthe user who requested the information (1052) and sends to the host 930,or enables the host 930 to access, the request for content and the useridentity (1053). The host 930 receives, or accesses, the request anduser identity from the client 910 (1054). The host 930 accesses a userprofile associated with the user identity and that is stored on the host930 (1055). The user profile may have previously been updated based oncontent the user found to be significant. The host 930 determinescontent that satisfies the request and the (updated) user profile (1056)and provides the determined content to the client 910 (1057). The client910 receives, or accesses the determined content and enables the user toperceive the content by, for example, visually displaying the content tothe user (1058). Operations 1051-1058 may correspond to operation 150 ofFIG. 1.

In the implementation of FIGS. 9B and 10B, user profiles may be storedon the host 930 (e.g., the user profiles may be “hosted”) in order toput less of a storage burden on the client 910 and decrease thelikelihood of distortion or corruption of the user profile or theinformation stored therein. Hosting a user profile also allows forportability of the information, such that information in the userprofile may be used to inform a request for content independently of thelocation from where the user requests the content. Security and privacyconcerns may be dealt with in the configuration of FIGS. 9B and 10B byrequiring authentication by a user before a user profile associated withthe user may be used to inform a request for content. Furthermore, anencrypted version of an identifier related to the user identity may beprovided to the host 930 such that any information in a user profilestored on the host 930 cannot be traced back to a particular user.

FIG. 11 is an exemplary process 1100 for updating a user profile basedon content determined to be significant to a user. Process 1100 may beperformed, for example, by client 910 of either of systems 900A or 900Bof FIG. 9A or 9B, respectively. Alternatively, host 930, or acombination of client 910 and host 930, may perform the operations ofprocess 1100. Operations 1110-1120 may be a particular example of aprocess for performing operation 120 of FIG. 1, operation 1130 may be aparticular example of performing operation 130 of FIG. 1 and operations1140-1150 may be a particular example of a process for performingoperation 140 of FIG. 1.

Upon determination of the content to which the user was most likelyreferring upon selection of the “I Like This” button, as describedabove, the client 910 determines a type for the content (1110). A typemay include hypertext markup language (HTML), text, audio, video, email,instant message, spreadsheet or some combination thereof.

Based on the content type, the viewed or accessed content may be cleanedup (1120). Cleaning up the viewed or accessed content may includeremoving information, metadata and formatting that is extraneous to textthat includes content actually viewed or accessed by the user. Forexample, tags and advertisements present around text in an HTML document(e.g., web page) may be removed. In another example, where the contentis audio or video, cleaning up may includes performing speech-to-text,optical character recognition, visual pattern recognition, imageanalysis and metadata inspection techniques to determine the contentactually viewed or accessed by the user.

The client 910 extracts significant content from the cleaned-up content,in a manner corresponding to that of process 400 of FIG. 4 describedpreviously (1130). More particularly, the client 910 may perform process400 to determine and extract significant content from the cleaned upcontent, rather than from the raw content identified prior to operations1110-1120.

The client 910 determines keywords, a URL, a category or other indiciathat is associated with the determined significant content (1140), asdescribed above. The client 910 then adds the keywords, URL, category orother indicia to a user profile associated with the user who selectedthe “I Like This” button (1150). As described above, the updated userprofile may be used to personalize the online experience of the userassociated with the updated user profile by, for example, providing theuser with personalized search results, updating a video or audio inboxassociated with the user, targeting advertisements to the user orrecommending content to the user.

Although this document focuses on determining significant content thatis of interest to a user, as determined by selection of an “I Like This”button, other implementations may additionally, or alternatively,provide an “I Hate This” button for a user to indicate that particularcontent is not of interest to the user. The content that is not ofinterest may be analyzed in the manner described above, and futurecontent provided to the user (e.g., search results or updates to a videoinbox associated with the user) may not include content related tocontent associated with selection of the “I Hate This” button.

The described systems, methods, and techniques may be implemented indigital electronic circuitry, computer hardware, firmware, software, orin combinations of these elements. Apparatus embodying these techniquesmay include appropriate input and output devices, a computer processor,and a computer program product tangibly embodied in a machine-readablestorage device for execution by a programmable processor. A processembodying these techniques may be performed by a programmable processorexecuting a program of instructions to perform desired functions byoperating on input data and generating appropriate output. Thetechniques may be implemented in one or more computer programs that areexecutable on a programmable system including at least one programmableprocessor coupled to receive data and instructions from, and to transmitdata and instructions to, a data storage system, at least one inputdevice, and at least one output device. Each computer program may beimplemented in a high-level procedural or object-oriented programminglanguage, or in assembly or machine language if desired; and in anycase, the language may be a compiled or interpreted language. Suitableprocessors include, by way of example, both general and special purposemicroprocessors. Generally, a processor will receive instructions anddata from a read-only memory and/or a random access memory. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as Erasable ProgrammableRead-Only Memory (EPROM), Electrically Erasable Programmable Read-OnlyMemory (EEPROM), and flash memory devices; magnetic disks such asinternal hard disks and removable disks; magneto-optical disks; andCompact Disc Read-Only Memory (CD-ROM). Any of the foregoing may besupplemented by, or incorporated in, specially-designed ASICs(application-specific integrated circuits).

It will be understood that various modifications may be made.

What is claimed is:
 1. A method comprising: presenting electronic content; providing a single-action selectable button to a user in a user interface that presents the electronic content, wherein selection by the user of the single-action selectable button indicates that the user is interested in at least a portion of the electronic content; detecting, by at least one processor, a selection by the user of the single-action selectable button; in response to the selection by the user of the single-action selectable button and without further user interaction: analyzing the electronic content to determine multiple topics of interest from the electronic content based on context associated with the selection of the single-action selectable button; selecting a topic of interest for the user from the determined multiple topics of interest based on the context associated with the selection of the single-action selectable button and information associated with the user; and updating, based on the selected topic of interest, a user profile associated with the user to reflect an association between the electronic content and the selected topic of interest; and providing, based on the updated user profile, additional content to the user.
 2. The method of claim 1, wherein the single-action selectable button is independent of the electronic content.
 3. The method of claim 1, further comprising identifying the additional content utilizing one or more attributes associated with the electronic content.
 4. The method of claim 1, further comprising: determining a recommended topic from the determined multiple topics of interest; and recommending the recommended topic to the user for association with the electronic content.
 5. The method of claim 4, wherein determining the recommended topic from the determined multiple topics of interest comprises determining the recommended topic based on previous topic selections made by the user.
 6. The method of claim 1, further comprising determining the multiple topics of interest from the electronic content based on at least one of: the user profile associated with the user or one or more attributes associated with the electronic content.
 7. The method of claim 1, wherein presenting the electronic content comprises presenting a web page.
 8. The method of claim 7, wherein providing the single-action selectable button comprises providing the single-action selectable button within a window presenting the web page.
 9. The method of claim 7, wherein providing the single-action selectable button comprises providing the single-action selectable button within a toolbar of a browser presenting the web page.
 10. The method of claim 1, wherein the context associated with the selection of the single-action selectable button comprises viewable attributes of the electronic content within the user interface at a time of the selection of the single-action selectable button.
 11. The method of claim 1, wherein the context associated with the selection of the single-action selectable button comprises media types from the electronic content displayed in the user interface at a time of the selection of the single-action selectable button.
 12. The method of claim 1, wherein analyzing the electronic content to determine the multiple topics of interest from the electronic content based on the context associated with the selection of the single-action selectable button comprises: extracting textual content from a portion of the electronic content that is displayed in the user interface at a time of the selection of the single-action selectable button; and searching the textual content for the multiple topics of interest based on a frequency of terms within the textual content.
 13. The method of claim 1, wherein the context associated with the selection of the single-action selectable button comprises cursor movements on the electronic content within a threshold time of the selection of the single-action selectable button.
 14. The method of claim 1, further comprising analyzing metadata associated with the electronic content to determine the multiple topics of interest.
 15. A system comprising: at least one processor; and at least one computer-readable medium storing instructions that, when executed by the at least one processor, cause the system to: present electronic content; provide a single-action selectable button to a user in a user interface that presents the electronic content, wherein selection by the user of the single-action selectable button indicates that the user is interested in at least a portion of the electronic content; detect a selection by the user of the single-action selectable button; in response to the selection by the user of the single-action selectable button and without further user interaction: analyze the electronic content to determine multiple topics of interest from the electronic content based on context associated with the selection of the single-action selectable button; select a topic of interest for the user from the determined multiple topics of interest based on the context associated with the selection of the single-action selectable button and information associated with the user; and update, based on the selected topic of interest, a user profile associated with the user to reflect an association between the electronic content and the selected topic of interest; and provide, based on the updated user profile, additional content to the user.
 16. The system of claim 15, wherein the single-action selectable button is independent of the electronic content.
 17. The system of claim 15, wherein the context associated with the selection of the single-action selectable button comprises viewable attributes of the electronic content within the user interface at the time of the selection of the single-action selectable button.
 18. The system of claim 15, wherein the electronic content comprises a web page, and the single-action selectable button is provided within a window presenting the web page or a toolbar of a browser presenting the web page.
 19. The system of claim 15, further comprising instructions that, when executed by the at least one processor, cause the system to: determine a recommended topic from the determined multiple topics of interest; and recommend the recommended topic to the user for association with the electronic content.
 20. A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computer system to: present electronic content; provide a single-action selectable button to a user in a user interface that presents the electronic content, wherein selection by the user of the single-action selectable button indicates that the user is interested in at least a portion of the electronic content; detect a selection by the user of the single-action selectable button; in response to the selection by the user of the single-action selectable button and without further user interaction: analyze the electronic content to determine multiple topics of interest from the electronic content based on context associated with the selection of the single-action selectable button; select a topic of interest for the user from the determined multiple topics of interest based on the context associated with the selection of the single-action selectable button and information associated with the user; and update, based on the selected topic of interest, a user profile associated with the user to reflect an association between the electronic content and the selected topic of interest; and provide, based on the updated user profile, additional content to the user. 